python pop() ,如何在Python的列表或数组中移除元素

您所在的位置:网站首页 python 列表的方法 python pop() ,如何在Python的列表或数组中移除元素

python pop() ,如何在Python的列表或数组中移除元素

#python pop() ,如何在Python的列表或数组中移除元素| 来源: 网络整理| 查看: 265

python pop() ,如何在Python的列表或数组中移除元素

在本文中,你将学习如何使用Python内置的 pop() 方法,最后,你将知道如何使用 pop() 从 Python 中的列表中删除元素。

以下是我们将要讨论的内容:

Python列表概述如何使用 pop() 删除列表项pop() 方法的语法pop() 方法不带参数的用法pop() 可选参数处理常见错误

什么是 Python 列表以及如何创建它

列表是 Python 中的内置数据类型,它充当容器,存储数据集合。使用方括号创建列表,如下所示:

# 空列表 my_list = [] print(my_list) print(type(my_list)) # 输出 #[] #

你还可以使用 list() 构造函数创建列表:

# 空列表 my_list = list() print(my_list) print(type(my_list)) # 输出 #[] #

正如你在上面看到的,一个列表可以包含 0 个元素,在这种情况下,它被认为是一个空列表。

列表还可以包含普通元素或列表元素。列表元素包含在方括号内,每个项目之间用逗号 , 分隔。

列表项可以是同构的,即相同的类型。

例如,你可以有一个只有数字的列表,或者一个只有字符串的列表:

# a list of integers my_numbers_list = [10,20,30,40,50] # a list of strings names = ["Josie", "Jordan","Joe"] print(my_numbers_list) print(names) #output #[10, 20, 30, 40, 50] #['Josie', 'Jordan', 'Joe']

列表项也可以是异构的,即它们不同的数据类型。

这就是将列表与数组区分的原因。数组要求内部元素具有相同的数据类型,而列表则不需要。

# 列表包含字符串,整型,浮点型 my_information = ["John", "Doe", 34, "London", 1.76] print(my_information) #output #['John', 'Doe', 34, 'London', 1.76]

列表是可变的,意味着它可被修改。可以更新列表项,可以删除列表项,还可以向列表添加新项。

使用 pop() 从列表中删除元素

在接下来的章节中,你将学习如何使用 pop() 方法从 Python 的列表中删除元素。

pop() 语法概述

pop() 方法的语法如下

list_name.pop(index)

让我们来分析一下:

list_name:列表变量名;内置的 pop() 方法仅需要一个可选参数;可选参数是要删除元素的索引如何使用 pop() 无参数方法

默认情况下,如果没有指定索引, pop() 方法将删除列表中包含的最后一项。语法如下:

list_name.pop()

让我们来看一个例子:

# 声明一个列表 programming_languages = ["Python", "Java", "JavaScript"] # 打印列表 print(programming_languages) # 删除列表元素,即 "JavaScript" programming_languages.pop() # 打印列表 print(programming_languages) #output #['Python', 'Java', 'JavaScript'] #['Python', 'Java']

删除元素之后, pop() 还返回它。

可以将被删除的元素保存在一个变量中以供以后使用,这将非常有帮助。

#list of programming languages programming_languages = ["Python", "Java", "JavaScript"] #print initial list print(programming_languages) #remove last item, which is "JavaScript", and store it in a variable front_end_language = programming_languages.pop() #print list again print(programming_languages) #print the item that was removed print(front_end_language) #output #['Python', 'Java', 'JavaScript'] #['Python', 'Java'] #JavaScriptpop() 可选参数

若要删除特定的列表元素,你需要指定该项的索引号。具体来说,将元素的索引作为参数传递给 pop() 方法。Python 中的索引以及所有通用编程语言都是从 0 开始的,这意味着列表中的第一个元素的索引为0。第二个元素的索引为1,依此类推。因此,要删除列表中的第一个元素,需要指定索引 0 作为 pop() 方法的参数。

pop() 返回被删除的元素。它能够存储在一个变量中,就上一节一样。

#list of programming languages programming_languages = ["Python", "Java", "JavaScript"] #remove first item and store in a variable programming_language = programming_languages.pop(0) #print updated list print(programming_languages) #print the value that was removed from original list print(programming_language) #output #['Java', 'JavaScript'] #Python

让我们看看另一个例子:

#list of programming languages programming_languages = ["Python", "Java", "JavaScript"] #remove "Java" from the list #Java is the second item in the list which means it has an index of 1 programming_languages.pop(1) #print list print(programming_languages) #output #['Python', 'JavaScript']

在上面的示例中,列表中有一个特定的值需要删除。为了成功删除特定值,需要知道它的位置(索引)。

pop() 方法使用时常见错误

请记住,如果你尝试删除一个等于或大于列表长度位置的元素,将得到一个错误,即 IndexError 。让我们看看下面这个例子,它展示了如何查找一个列表的长度:

#list of programming languages programming_languages = ["Python", "Java", "JavaScript"] #find the length of the list print(len(programming_languages)) #output #3

要查找列表的长度,可以使用 len() 函数,它返回列表中包含的项的总数。如果我尝试删除位置3的一个元素,它等于列表的长度,会得到一个错误,说传递的索引超出了范围:

#list of programming languages programming_languages = ["Python", "Java", "JavaScript"] programming_languages.pop(3) #output # line 4, in # programming_languages.pop(3) #IndexError: pop index out of range

如果我试图删除位置4或更大位置索引的元素,同样的错误也会出现。类似地,如果你在一个空列表上使用 pop() 方法,也会引发一个异常:

#empty list programming_languages = [] #try to use pop() on empty list programming_languages.pop() #print updated list print(programming_languages) #output #line 5, in # programming_languages.pop() #IndexError: pop from empty list总结

现在你知道了如何使用 pop() 方法删除 Python 中的列表项,我希望你觉得这篇文章有用。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3